package com.songshuai.webapi.crm.service;

import com.songshuai.webapi.baseapi.dto.UserUpdatePwdDto;
import com.songshuai.webapi.baseapi.dto.feign.request.UserAddReqDto;
import com.songshuai.webapi.baseapi.dto.feign.request.UserInfoUpdateReqDto;
import com.songshuai.webapi.baseapi.pojo.BaseParmDto;
import com.songshuai.webapi.baseapi.pojo.QueryPageRes;
import com.songshuai.webapi.baseapi.pojo.QueryResponse;
import com.songshuai.webapi.baseapi.dto.feign.response.AccountInfoResDto;
import com.songshuai.webapi.baseapi.dto.feign.response.AccountPageLIstResDto;
import com.songshuai.webapi.crm.dto.request.account.AccountPageListReqDto;

import java.util.List;

/**
 * @Author: lhx
 * @Date: 2018/12/28 10:21
 */
public interface AccountManagerService {

    /**
     * 分页模糊查询用户信息
     * @param request
     * @return
     */
    QueryResponse<QueryPageRes<List<AccountPageLIstResDto>>> queryAccountListByPage(BaseParmDto<AccountPageListReqDto> request);

    /**
     * 新增用户
     * @param request
     * @return
     */
    QueryResponse addUser(UserAddReqDto request);


    /**
     * 根据用户id查询用户信息
     * @param id
     * @return
     */
    QueryResponse<AccountInfoResDto> queryUserInfoById(Integer id);


    /**
     * 修改用户信息
     * @param requset
     * @return
     */
    QueryResponse updateUserById(UserInfoUpdateReqDto requset);



    /**
     * 禁用/启用
     * @param id
     * @return
     */
    QueryResponse updateUserStatusById(Integer id, Integer status);


    /**
     * 根据用户id修改密码
     * @param id
     * @param pwd
     * @return
     */
    QueryResponse updateUserPwdById(Integer id,String pwd);


    /**
     * 查询账户下跟进学员人数
     * @param id
     * @return
     */
    Integer queryCustomNum(Integer id);


    /**
     * 删除用户
     * @param id
     * @return
     */
    QueryResponse deleteUserById(Integer id);

    /**
     * 删除用户
     * @param id
     * @return
     */
    QueryResponse updateUserPassword(UserUpdatePwdDto userUpdatePwdDto);






}
